﻿using System;
using System.Collections.Generic;
using Informant.Contacts;

namespace Informant.Clients.DataProviders
{
	public class RetrieveContactsEventArgs : EventArgs
	{
		private static RetrieveContactsEventArgs _empty;

		/// <summary>
		/// Initializes a new instance of the <see cref="RetrieveContactsEventArgs"/> class.
		/// </summary>
		/// <param name="contacts">The contacts.</param>
		public RetrieveContactsEventArgs(IEnumerable<IContact> contacts)
		{
			Contacts = contacts;
		}

		/// <summary>
		/// Gets the empty event args.
		/// </summary>
		/// <value>The empty event arg.</value>
		public static new RetrieveContactsEventArgs Empty
		{
			get
			{
				if (_empty == null)
				{
					_empty = new RetrieveContactsEventArgs(null);
				}
				return _empty;
			}
		}
		/// <summary>
		/// Gets or sets the contacts.
		/// </summary>
		/// <value>The contacts.</value>
		public IEnumerable<IContact> Contacts { get; private set; }
	}
}